查看原文
其他

汽车车牌是如何识别的?ARM Linux下车牌提取过程......

嵌入式ARM 嵌入式ARM 2021-01-31


“智慧城市、智慧停车、智慧小区”的出现,随之而来的是一波波的设备更新换代,关于车辆管理这方面,包括安防、交通等行业,都纷纷用上了车牌识别技术

作为嵌入式er,不仅要看到行业的发展趋势,也要分析分析背后的一些关键技术。下面是一位嵌入式er开发车牌识别的一些经验整理,希望对大家能有所帮助。

最近在弄车牌识别这个项目,对于机器视觉有些了解的人都知道,这个东西算是比较成熟了,在书里也有代码。 网上能找到的资料也比较多,所及借着这个机会在ARM开发板上实现以下车牌识别。 


反正对于神经网络这些什么的我是不知道了,所以代码也是网上借鉴了的,我稍微整理注释了下。 


首先你需要了解移植opencv到嵌入式ARM的具体的步骤这个网上比较多,大家搜一下就可以了。


第一步做的就是车牌提取: 
 

代码如下:


我们看下效果: 

原图car.jpg,我随便拍的一张图: 


看下hsv的效果图car_hsv.jpg: 


接着直方图均衡化后的图car_hsv1.jpg: 


提取蓝车区域后,分离出来,提取分量 car_hsvSplit.jpg: 

 
可以看出,找到了车牌部分。我拍的这图质量还好,当车辆与车牌都是蓝色时就不好弄出这个了

接着看下形态学处理 car_morphology.jpg: 

 
白色区域都被联通了。

然后看下旋转的图像 car_rotated.jpg: 


最后,剪切出车牌即可 car_area.jpg: 
 
这样就提取车了一张车牌。


因为这图比较理想,事实上,可能识别出多个蓝车区域多为车牌,也就是多个候选区域。这里我们图像理想,只识别出一个候选区域,所以我直接把候选区域0,即output_area[0]打印出来就是车牌了,我们应该加入SVM训练,作为最后判断是否是车牌的依据,当然,这个我们下次再说吧。


推荐阅读:

1.从希冀到执着再到迷茫,一位嵌入式er给未来的自己定下初步目标

2.若想成为一名Linux下编程高手,必须能对各种系统调用有透彻的了解

3.中兴事件迎转机,特朗普为何会360度大转变?ARM与中国合资能否规避美国制裁带来的风险呢?

4.远离浮躁!一位从技术岗位走出来的工程师分享给新人的一些切身体会



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存